package com.crm.system.service.cluePoolManager;

import com.alibaba.fastjson.JSONObject;
import com.crm.common.model.DhPageInfo;
import com.crm.model.entity.cluePoolManager.CluePoolPublic;
import com.crm.model.qo.cluePoolManager.*;
import com.crm.model.vo.cluePoolManager.CluePoolPubliclOpenSeaVO;
import com.crm.model.vo.cluePoolManager.CluePoolUpdateVO;

/**
 * @author luojie
 * @date 2020/12/24 11:15
 */
public interface CluePoolPublicService {

    /**
     * 添加公共线索池
     * @param cluePoolPublicQO
     * @return
     */
    Boolean addCluePoolPublic(CluePoolPublicQO cluePoolPublicQO);

    /**
     * 管理系统--删除线索池(私有池、分公司公有池、全国池子)
     * @param cluePoolPublicId ---线索池ID
     * @param accountId ---操作人ID
     * @return
     */
    Boolean deleteCluePoolPublic(String cluePoolPublicId,String accountId);

    /**
     * @author wll
     * info 用户模块-线索池管理-线索池公海表单 (全国)
     * @return
     */
    DhPageInfo<CluePoolPubliclOpenSeaVO> getCluePoolPublicInfo(CluePoolOpenSeaQO cluePoolOpenSeaQO, Integer pageIndex, Integer pageSize, String sortName, String sortOrder);

    /**
     * 修改线索池规则
     * @param cluePoolRuleQO
     * @return
     */
    Boolean updateCluePoolRule(CluePoolRuleQO cluePoolRuleQO);

    /**
     * 保存线索池权限与详情
     */
    Boolean saveCluePoolPermissionAndDetail(CluePoolPermissionAndDetailQO cluePoolPermissionAndDetailQO);

    /**
     * 根据线索池id查询线索池信息
     * @return
     */
    CluePoolPublic selectCluePoolPublicById(String cluePoolPublicId);

    /**
     * 更新公共线索池
     * @return
     */
    Boolean updateCluePoolPublic(CluePoolUpdateQO cluePoolUpdateQO);

    /**
     * 查询线索池更新数据回显
     * @param cluePoolId
     * @return
     */
    CluePoolUpdateVO selectCluePoolUpdateInfo(String cluePoolId);

}
